@奈良山
2年前 提问
1个回答

API接口常见安全弱点有哪些

delay
2年前

API接口常见安全弱点有以下这些:

  • 太容易被发现:拦截代理能够捕获浏览器或移动应用程序对后端Web服务器发出的所有请求,从而使攻击者可以对所有可用的API端点进行分类。例如,大多数API都将API/V1/login作为身份验证端点。如果目标也是移动应用程序,则将应用程序包拆开,并查看应用程序内部可用的API调用。考虑到所有可能的活动,攻击者可以搜索无法正确保护用户数据的常见配置错误或API。最后,攻击者寻找API文档。一些组织为第三方发布API文档,但为所有用户使用相同的API端点。

  • 过于详细的错误信息:最近,攻击者接管账户的尝试在不断增加。错误消息过于“详细周到”,往往使此类攻击更加容易。冗长的错误消息会引导攻击者了解他们需要进行哪些更改才能伪装成合法请求。API专为低负载下的高速交易而设计,使攻击者可以使用高性能系统找出有效账户,然后尝试登录并更改密码进行利用。

  • 参数太多:当攻击者通过API调用遍历攻击系统时,他们必须弄清楚可以发送些什么来获取数据。即越复杂的系统,出错的地方越多。攻击者识别出API后,他们将对参数进行分类,然后尝试访问管理员(垂直特权升级)或另一个用户(水平特权升级)的数据以收集其他数据。通常,太多不必要的参数被暴露给了用户。

  • 数据过多:同样地,由于可用的参数太多,收集数据将成为显而易见的下一步行动。许多企业的系统支持匿名连接,并且倾向泄漏普通用户不需要的额外数据。另外,许多企业倾向于存储可以直接访问的数据。安全专业人员正在努力应对API请求经常暴露数据存储位置的挑战。例如,当我查看安全摄像机中的视频时,可以看到该信息来自Amazon S3存储库。通常,那些S3存储库的保护并不周全,任何人的数据都可以被检索。另一个常见的数据挑战是数据过载,很多企业都像入冬前的花栗鼠,存储的数据量远远超出了需要。很多过期用户数据已经没有商业价值和保存价值,但是如果发生泄露,则会给企业带来巨大的品牌和合规风险。

  • 安全设计太少:多年以来,应用程序设计总是优先考虑功能性和可用性,很少考虑安全性。很多CISO表示,API安全性尤其不被重视,甚至完全被排除在安全设计流程之外。通常都是开发人员开发和部署完成后,在API投入生产且频繁遭受攻击后才亡羊补牢查找问题。安全性(包括API安全性)需要成为产品设计的一部分,并且应作为首要考虑因素之一加以实现,而不是事后填坑。

API接口面临安全风险的防范建议有以下这些:

  • 统一API设计开发规范:健全API设计、开发、测试等环节标准规范和管理制度,引导API开发运维流程标准化,提高对API安全的重视程度。

  • API上线、变更、下线环节实时监控:对API部署情况进行全面排查,梳理统计API类型、活跃接口数量、失活接口数量等资产现状上线前风险评估,发现问题暂停上线并及时调整,确保上线API安全性。上线后对运行情况进行实时监控,发现接口运行异常、恶意调用等情况及时采取防护措施,修复相应问题。API不再使用遵循下线流程及时进行处理,防止失活API持续在线,成为安全隐患。

  • 完善API身份认证和授权管理机制:针对提供数据增、删、改等高危操作的API,严格规范用户权限管理。对涉及敏感信息、重要数据的API加强接入方资质和数据安全防护能力审核,规范合作要求,避免因接入方原因导致数据安全事件。

  • 健全API安全防护体系:部署API网关统一接口管理等,加强API安全保护宣传力度,提高员工安全意识,提高员工特别是API开发运维人员的安全意识,进一步提高内部RD整体数据安全认识。

  • API身份认证实时监控能力:重点监控高频登录尝试、空Referer、非浏览器UA头登录等具有典型机器行为特征的操作,对异常登录、调用行为进行分析,发现恶意行为及时告警。

  • 异常行为实时监测预警能力:重点监控短时间内大量获取敏感数据、访问频次异常、非工作时间获取敏感数据等异常调用、异常访问行为进行实时分析

  • 加强数据分类分级管控能力:针对API涉及的敏感数据按照统一策略进行后端脱敏处理,并结合数据加密、传输通道加密等方式保护API数据传输安全。重点关注接口单次返回数据量过多、返回数据类型过多等情况。

  • API数据流向监控能力:通过分析访问和被访问IP的局域、地域或法域,实现对数据流向的实时监控,防范数据接收方非法出售或滥用个人信息风险,发现相关违法违规事件及时阻断API接入应对境外IP访问内网API或者内部IP访问境外API的情况重点关注、及时预警。

  • 健全应急响应机制:制定API安全事件应急响应预案并纳入企业现有应急管理体系,应急流程包括但不限于监测预警及报告、数据泄露事件处置、危机处理及信息披露等环节。

  • 健全日志审计机制:对接口访问、数据调用等操作进行完整日志记录,并持续开展安全审计。

  • 健全数据泄露溯源追责机制:制定API相关安全事件溯源方案,发生安全事件后及时追踪数据泄露途径、类型、规模、原因,分析根本原因。